package models

type Job struct {
	ID          uint64  `gorm:"primaryKey"`                            // 主键
	Queue       *string `gorm:"column:queue;size:200"`                 // 队列名称
	Payload     string  `gorm:"column:payload;type:longtext;not null"` // 任务数据
	Attempts    uint8   `gorm:"column:attempts;not null"`              // 重试次数
	Status      int     `gorm:"column:status;not null;default:10"`     // 状态: 10同意 20拒绝 30待定
	ReservedAt  *uint   `gorm:"column:reserved_at"`                    // 预留时间
	AvailableAt uint    `gorm:"column:available_at;not null"`          // 可用时间
	CreatedAt   uint    `gorm:"column:created_at;not null"`            // 创建时间
}

// TableName 表名
func (Job) TableName() string {
	return "jobs"
}
